Failover Management

Database Tutorials - মাইএসকিউএল (MySQL) - MySQL Cluster এবং Load Balancing
241

Failover Management হল একটি প্রক্রিয়া যা সিস্টেমের অপ্রত্যাশিত ব্যর্থতার ক্ষেত্রে (যেমন হার্ডওয়্যার বা সফটওয়্যার ক্র্যাশ) ডেটাবেস সিস্টেমের ধারাবাহিকতা এবং উচ্চ অ্যাভেইলেবিলিটি (HA) নিশ্চিত করে। এটি সাধারণত MySQL replication, clustering, এবং automatic failover সমর্থনকারী সিস্টেমের মাধ্যমে বাস্তবায়িত হয়।

MySQL-এ Failover ব্যবস্থাপনা নিশ্চিত করার জন্য, Master-Slave Replication, MySQL Cluster, Group Replication, এবং Orchestrator সহ বিভিন্ন প্রযুক্তি এবং পদ্ধতি ব্যবহার করা হয়। যখন মূল সার্ভার বা master ডাউন হয়ে যায়, তখন সিস্টেম স্বয়ংক্রিয়ভাবে একটি বিকল্প slave সার্ভারে স্যুইচ করে, যাতে ডেটাবেস অ্যাক্সেস বা পরিষেবা থেমে না যায়।


Failover Management এর মূল উপাদান

  1. Replication:
    • MySQL replication একটি প্রযুক্তি যা ডেটাবেসের একটি কপি তৈরি করে। এটি মূল (master) সার্ভার থেকে ডেটা একটি বা একাধিক secondary (slave) সার্ভারে কপি করে রাখে। যদি master সার্ভার ডাউন হয়ে যায়, তখন slave সার্ভারটি নতুন master সার্ভার হিসেবে কাজ শুরু করতে পারে।
  2. Automatic Failover:
    • Automatic failover হল একটি পদ্ধতি যার মাধ্যমে সিস্টেম অটোমেটিক্যালি মূল সার্ভার ডাউন হয়ে গেলে অন্য সার্ভারে স্যুইচ করে। এটি সাধারণত replication ব্যবহারের সাথে একত্রে কাজ করে।
  3. High Availability (HA):
    • HA ব্যবস্থাপনা ডেটাবেসের অবিচ্ছিন্ন এবং নিরবচ্ছিন্ন পরিষেবা নিশ্চিত করার জন্য ব্যবহৃত হয়। এটি একটি ফাংশন যা একটি সার্ভার ব্যর্থ হলে আরেকটি সার্ভার গ্রহণ করে কাজ শুরু করে, যাতে ডাউনটাইম কম হয়।
  4. Cluster Management:
    • MySQL Cluster ব্যবহার করে ডেটাবেস ক্লাস্টার গঠন করা হয়, যেখানে একাধিক সার্ভার একত্রে কাজ করে এবং প্রতিটি সার্ভার ডেটার একটি অংশ ধারণ করে। ক্লাস্টারিং ব্যবস্থায়, সার্ভারগুলি একে অপরের ব্যাকআপ হিসেবে কাজ করতে পারে এবং কোনও একটি সার্ভার ডাউন হলেও সিস্টেমের কার্যক্রম অব্যাহত থাকে।

Failover Implementations in MySQL

1. MySQL Master-Slave Replication with Failover

MySQL Master-Slave Replication হল একটি সাধারণ failover কৌশল, যেখানে একটি Master সার্ভারে ডেটা লেখা হয় এবং এক বা একাধিক Slave সার্ভারে ডেটা কপি করা হয়।

Replication Setup:

  • Master: ডেটাবেসের মূল সার্ভার, যেখানে সমস্ত ডেটা লেখা হয়।
  • Slave: ডেটাবেসের কপি সার্ভার, যা Master সার্ভারের সমস্ত পরিবর্তন কপি করে।

Automatic Failover Using MySQL Replication

  1. Master Failover:
    • যখন master সার্ভার ডাউন হয়ে যায়, তখন automatic failover প্রক্রিয়া slave সার্ভারকে master হিসেবে প্রমোট করতে পারে।
  2. Tools for Automatic Failover:
    • MHA (Master High Availability): MySQL Master Failover করার জন্য জনপ্রিয় একটি টুল। এটি একটি স্ক্রিপ্ট বা প্রোগ্রাম যা ডেটাবেসের জন্য automatic failover পরিচালনা করে।
    • Orchestrator: এটি একটি MySQL-এডভান্সড ক্লাস্টার ও failover টুল, যা সহজে master/slave সার্ভার স্যুইচিং এবং failover পরিচালনা করতে পারে। Orchestrator MySQL সার্ভারগুলোর মধ্যে যোগাযোগ এবং failover সম্পাদন করে।

MHA Example:

mha_master_manager --conf=/etc/mha.conf --start

এটি MHA ব্যবহার করে master ডাউন হলে অটোমেটিক্যালি failover পরিচালনা করবে।


2. MySQL Group Replication

MySQL Group Replication হল একটি নতুন প্রযুক্তি যা multi-master replication সাপোর্ট করে এবং একাধিক সার্ভারের মধ্যে ডেটা সিঙ্ক্রোনাইজ করতে সক্ষম। এটি MySQL Cluster এর মতোই ডেটাবেসের উচ্চ অ্যাভেইলেবিলিটি নিশ্চিত করে, যেখানে একাধিক সার্ভার একে অপরের ব্যাকআপ হিসেবে কাজ করতে পারে।

  • Group Replication ব্যবহারে, একাধিক সার্ভার একে অপরের সাথে ডেটা শেয়ার করে, এবং যদি কোনও একটি সার্ভার ডাউন হয়, তাহলে অন্য সার্ভারটি তাদের কাজ অব্যাহত রাখে।

Group Replication Setup:

  1. প্রথমে Group Replication চালু করতে হবে।
mysql> SET GLOBAL group_replication_bootstrap_group = ON;
mysql> START GROUP_REPLICATION;
  1. Automatic Failover:
    • একাধিক সার্ভার থাকলে, যখন এক সার্ভার ডাউন হয়, তখন বাকি সার্ভারগুলি ঐ সার্ভারের কাজ গ্রহণ করে নেয়।

Benefits of Group Replication:

  • Multi-master: একাধিক master সার্ভারের সাথে ডেটাবেস ব্যবস্থাপনা করা যায়।
  • Synchronous Replication: সব সার্ভারের মধ্যে ডেটা সিঙ্ক্রোনাইজড থাকে, যাতে ডেটার consistency বজায় থাকে।
  • Automatic Failover: সার্ভার ব্যর্থ হলে, অন্য সার্ভারটি master হিসাবে কাজ শুরু করে।

3. MySQL Cluster (NDB Cluster)

MySQL Cluster হল একটি distributed database system যা ডেটাবেসের সকল ডেটা একাধিক নোডে ভাগ করে রাখে। এটি failover এবং উচ্চ অ্যাভেইলেবিলিটির জন্য উপযুক্ত, যেখানে নোড ডাউন হলেও সিস্টেম কার্যকর থাকে।

  • MySQL NDB Cluster ব্যবহারে, ডেটা বিভিন্ন নোডে ভাগ করা হয়, এবং একটি নোড ডাউন হলেও অন্য নোড থেকে ডেটা পাওয়া সম্ভব হয়।

NDB Cluster Configuration:

  1. Configuring Data Nodes:
    • NDB Cluster সার্ভারে Data Nodes গঠন করতে হয়।
  2. High Availability:
    • যদি একটি নোড ব্যর্থ হয়, তার ডেটা অন্য নোড থেকে পুনরুদ্ধার করা যেতে পারে।

Benefits:

  • Distributed Data Storage: ডেটা নোডে ভাগ করা হয়, যা পারফরমেন্স বৃদ্ধি করে।
  • Automatic Recovery: একটি নোড ব্যর্থ হলে, ডেটা অন্য নোড থেকে পুনরুদ্ধার হয়।
  • Scalability: আপনি প্রয়োজন অনুযায়ী আরও নোড যোগ করতে পারেন।

Failover Management Tools

  1. Orchestrator:
    • Orchestrator একটি MySQL-এডভান্সড replication management tool যা সহজে failover পরিচালনা করতে সহায়তা করে। এটি master/slave রিপ্লিকেশন এবং failover পরিচালনা করতে সক্ষম।
  2. MHA (Master High Availability):
    • MHA একটি ফ্রি এবং ওপেন সোর্স টুল যা MySQL master failover পরিচালনার জন্য ব্যবহৃত হয়। এটি automatic failover এবং master promotion পরিচালনা করতে সক্ষম।
  3. ProxySQL:
    • ProxySQL হল একটি উচ্চ পারফরম্যান্স MySQL প্রক্সি যা লোড ব্যালান্সিং, failover, এবং রিড রাইট সেপারেশন সমর্থন করে।

Summary

Failover Management MySQL সিস্টেমে ডেটাবেসের ধারাবাহিকতা এবং উচ্চ অ্যাভেইলেবিলিটি নিশ্চিত করতে ব্যবহৃত হয়। MySQL replication, Group Replication, MySQL Cluster ইত্যাদি প্রযুক্তি failover পরিচালনা করতে সহায়ক। Automatic Failover সরঞ্জাম যেমন MHA, Orchestrator, এবং ProxySQL স্বয়ংক্রিয়ভাবে master সার্ভার ব্যর্থ হলে অন্য সার্ভারে স্যুইচ করে সিস্টেমের কার্যক্ষমতা বজায় রাখে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...